************************* MASTER CODE *************************************** The name of the first file in this disk's directory identifies the volume, issue number and revision of the disk. The format of this filename is: !CDmvvii.rrr where ! = the '!' character m = C for C Users Journal, W for Windows/DOS Developer's Journal vv = volume ii = issue rrr = revision (001 for initial release, 002 for next update, etc.) The file UPDATE.DOC contains information about any additions or corrections to material on the disk since the original magazine publication. If you have obtained this code from a floppy diskette or from CompuServe, the headings under the column "FILENAME" represent the names of .ZIP files. All files listed under the filename are archived in the .ZIP file. If you have obtained this code from UUNET, the headings under the column "FILENAME" represent the names of subdirectories. All files listed under the "filename" are included in a subdirectory of that name. Keywords: Jun94 C C++ Interpolation Multi-Precision Integer float streambuf The code listings for the June 1994 issue of The C Users Journal include source for Philip Gages's Divided-Difference Interpolation Program, John K. Gotwals' multi-precision integer arithmetic functions, and Tim Prince's float-precision math library, and a header for the C++ streambuf class. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- plauger P.J. Plauger Standard C:The Header 10 streambu.h - listing 1, The header spos.c - listing 2, The streampos constructor spsofset.c - listing 3, The function streampos::offset spsminus.c - listing 4, The function streampos::operator- sposequa.c - listing 5, The function streampos::operator== streambu.c - listing 6, The function streambu.c saks Dan Saks Stepping Up to C++: 61 Designing Generic Container Classes, Part 1 intq1.h - listing 1, Class definitions for a queue of int using a non-nested cell type intq1.cpp - listing 2, Member function definitions for a queue of int using a non-nested type strq1.h - listing 3, Class definitions for a queue of str using a non-nested cell type str.h - listing 4, Class definition for a variable-length string str.cpp - listing 5, member function definitions for a variable-length string strtst2.cpp - listing 6, A test program for a queue of str showheap.cpp - listing 7, A heap monitoring function genq2.h - listing 8, Class definitions for a queue of void * using a nested cell type genq2.cpp - listing 9, Member function definitions for a queue of void * inttst3.cpp - listing 10, A test program for a generic queue of void * used as a queue of int cat.cpp - listing 11, Corrections to corrections to the string clas that appeared in Listing 9 of "Stepping Up to C++:Rewriting and Reconsidering," CUJ, September, 1993. cat2.cpp - listing 12, Slightly cleaner versions of the str::cat function in listing 11. pugh Kenneth Pugh Q&A:Moving from FORTRAN to C 75 nestlp1.c - listing 1, An attempt at nested for loops nestlp2.c - listing 2, Listing 1 rewritten for clarity allison Chuck Allison Code Capsules:Control 81 Structures hi_lo.bas - listing 1, A BASIC program to play HI-LO hi_lo.c - listing 2, A C program to play HI-LO merge1.c - listing 5, C implementation of merge procedure merge2.c - listing 7, Merges arbitrary number of files hi_lo2.c - listing 8, Removes extraneous loop controls from listing 2 ddir.c - listing 9, Recursive directory delete program that illustrates non-local branching ignore.c - listing 10, Turns off keyboard interrupt requests abort.c - listing 11, Intercepts the SIGABRT (abort) signal ctrlc.c - listing 12, A safe SIGINT handler that counts keyboard interrupts shell.c - listing 13, A skeleton for a command interpeter vsort.c - listing 15, An external sort that uses an exit handler gage Philip Gage Divided-Difference 23 Interpolation divdif.c - listing 3, Program to demonstrate divided-difference Interpolation gotwals John K. Gotwals Multi-Precision Integer 35 Arithmetic Using C++ fact1.cpp - listing 1, Program to demonstrate LargeInt class largeint.h - listing 2, Definition of the LargeInt class dectobin.cpp - listing 3, Definition of member functions DecToBin and get9 lessthan.cpp - listing 4, Overloading of operator< times.cpp - listing 5, Overloading of operator* divrem.cpp - listing 6, Definition of function divrem sqrt.cpp - listing 7, Computing Square Root with Newton's method test3.cpp - listing 8, The Lucas-Lehmer test multiply.cpp - listing 9, Assembly-Language multiply routine for a 80x86 gotwals2 John K. Gotwals Multi-Precision Integer Arithmetic Using C++ Contains complete source code and utilities for multi-precision library. Most of these files were not listed in the magazine. prince Tim Prince float-Precision Math Library 45 math.h - listing 1, A modified math.h arcfuncs.c - listing 2, atan2f, atanf, asinf, and acosf trigfunc.c - listing 3, cosf, sinf, and tanf hidexpf.c - listing 4, Hidden function _expf coshf.c - listing 5, coshf, uses hidden function _expf expf.c - listing 6, expf, uses hidden function _expf log.c - listing 7, logf and log10f pow.c - listing 8, powf function sinhf.c - listing 9, sinhf function sqrtf.c - listing 10, sqrtf function tanhf.c - listing 11, tanhf function xmath.h - not listed, modifies math.h letters We Have Mail 113 checksum.c - listing 1, Eliminates special-case checksum handling heintze Siegfried Intuitive Access to Bit Arrays, Heintze CUJ, February 1994, p. 67 boolean.h - Not listed, Replaces missing listing from February article ****************************************************************************** If you have questions regarding to the disk, please call or write us. ----------------------------------------------------------------------------- R&D Publications, Inc. 1601 W. 23rd St. Suite 200 Lawrence, KS 66046 (913) 841-1631 -----------------------------------------------------------------------------